<?php
defined('BY_JYA') or exit('error');
$_RQ['op']=$_RQ['op']?$_RQ['op']:'list';
$return=array();
//声明页面上方tab按钮
$tabs=array(
	array('op'=>'list','title'=>'原材料列表'),
	array('op'=>'add','title'=>'添加原材料'),
);
set_html('tabs',$tabs);
$return['goods_types']=$this->goods_types;
//声明列表页
if($_RQ['op']=='list'){
	//初始化返回前端的筛选条件数组
	$return['params']=array();
	//整理列表数据查询条件
	$params=array('uniacid'=>$_SESSION['uniacid']);
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=$_RQ['title'];
	}
	$psize=15;
	$pindex=intval($_RQ['page'])?:1;
	$parameter=array(
		'params'=>$params,
		'limit'=>array($pindex,$psize),
		'orderby'=>'id desc',
	);
	//执行分页查询
	$list=$this->get_list('goods',$parameter,$total);
	//将查询到的结果数组放入$return以备传回前端
	$return['list']=$list;
	//整理分页
	$return['totalpage'] =intval(ceil($total/$psize));
	$return['params']['page'] =$pindex;
	//声明列表页样式数组
	$htmls=array(
		'type'=>'list',
		//'export'=>'export',//声明导出动作op，如无需导出功能，可不声明该字段
		'list'=>array('data'=>'list','tip'=>'[温馨提示]：需要原材料的时候，请这里添加！','list'=>array(
			//列表展示列
			//array('type'=>'radio','name'=>'type','title'=>'原材料类型','options'=>'goods_types'),
			array('type'=>'string','name'=>'title','title'=>'原材料名称',),
			array('type'=>'image','name'=>'image','title'=>'原材料图片',),
			array('type'=>'string','name'=>'productsn','title'=>'原材料编号',),
		)),
		'search'=>array(
			//列表查询表单
			array('type'=>'string','name'=>'title','title'=>'名称','width'=>'50'),
		),
	);
	$return['htmls']=$htmls;
	
	//把数据返回前端
	exi($return);
}
//声明编辑页
if($_RQ['op']=='edit'){
	//编辑页表单项数组
	$edit_fields=array(
		array('type'=>'string','name'=>'title','title'=>'原材料名称','must'=>true),
		array('type'=>'image','name'=>'image','title'=>'原材料图片','help'=>'','must'=>true),
		array('type'=>'string','name'=>'unit','title'=>'原材料单位','help'=>''),
		array('type'=>'string','name'=>'productsn','title'=>'原材料编号','help'=>''),
	);
	if($_RQ['postdata']){
		//处理表单提交
		$post=get_postdata($edit_fields);
		$id=intval($post['id']);
		if(!$id){
			exi('请先选择原材料！','error');
		}
		//获取表单数据
		$data=array_fields(array('title','image','unit','productsn'),$post);
		$this->pdo_update('goods',$data,array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
		exi('修改成功！','','list');
	}
	//整理编辑页
	$id=intval($_RQ['id']);
	if(!$id){
		exi('请先选择原材料！','error');
	}
	$item=$this->pdo_get('goods',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
    $return['item']=$item;
	//声明表单页样式数组
	$htmls=array(
		'type'=>'edit',
		'desc'=>'原材料设置',
		'edit'=>$edit_fields,
	);
	$return['htmls']=$htmls;
	//返回前端
	exi($return);
}
//声明添加
if($_RQ['op']=='add'){
	//编辑页表单项数组
	$edit_fields=array(
		//array('type'=>'radio','name'=>'type','title'=>'原材料类型','must'=>true,'options'=>'goods_types'),
		//array('type'=>'choose_up','name'=>'id','title'=>'选择原材料','action'=>'jy_weishop/goods.get_goods/many','show'=>array('type'=>2)),
		array('type'=>'string','name'=>'title','title'=>'原材料名称','must'=>true),
		array('type'=>'image','name'=>'image','title'=>'原材料图片','help'=>'','must'=>true),
		array('type'=>'string','name'=>'unit','title'=>'原材料价格','help'=>''),
		array('type'=>'string','name'=>'productsn','title'=>'原材料编号','help'=>''),
	);
	if($_RQ['postdata']){
		//处理表单提交
		$post=get_postdata($edit_fields);
		//获取表单数据
		$data=array_fields(array('type','title','image','unit','productsn'),$post);
		if($data['type']==2){
			if(!$post['id']){
				exi('请先选择原材料！','error');
			}
			$data['goods_id']=intval($post['id']);
		}
		$insert=array(
			'uniacid'=>$_SESSION['uniacid'],
			'createtime'=>TIMESTAMP,
		);
		$insert=array_merge($insert,$data);
		$this->pdo_insert('goods',$insert);
		exi('添加成功！','','list');
	}
	//整理编辑页	
    $return['item']=array();
	//声明表单页样式数组
	$htmls=array(
		'type'=>'edit',
		'desc'=>'原材料设置',
		'edit'=>$edit_fields,
	);
	$return['htmls']=$htmls;
	//返回前端
	exi($return);
}
//删除动作
if($_RQ['op']=='del'){
	$dels=array();
	$id=intval($_RQ['id']);
	if($id){
		//删除单个
		$dels[]=$id;
	}elseif($_RQ['del']){
		//批量删除
		$dels=str_array($_RQ['del']);
	}
	if(empty($dels)){
		exi('请先选择要删除的项目！','error');
	}
	//执行删除
	foreach($dels as $id){
		$this->pdo_delete('goods',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
		//如有额外操作，可在此执行
	}
	exi('删除成功！');
}
if($_RQ['op']=='choose'){
	//初始化返回前端的筛选条件数组
	$return['params']=array();
	//整理列表数据查询条件
	$params=array('uniacid'=>$_SESSION['uniacid']);
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
		$return['params']['title']=$_RQ['title'];
	}
	$psize=15;
	$pindex=intval($_RQ['page'])?:1;
	$parameter=array(
		'params'=>$params,
		'limit'=>array($pindex,$psize),
		'orderby'=>'id desc',
	);
	//执行分页查询
	$list=$this->get_list('goods',$parameter,$total);
	if($list){
		foreach($list as &$item){
			if($_RQ['type']=='obj'){
				$item['goods']=array(
					'id'=>$item['id'],
					'title'=>$item['title'],
					'image'=>$item['image'],
				);
			}else{
				$item['goods']=$item['id'];
			}
			
		}
	}
	//将查询到的结果数组放入$return以备传回前端
	$return['list']=$list;
	//整理分页
	$return['totalpage'] =intval(ceil($total/$psize));
	$return['params']['page'] =$pindex;
	//声明列表页样式数组
	$htmls=array(
		'type'=>'list',
		//'export'=>'export',//声明导出动作op，如无需导出功能，可不声明该字段
		'list'=>array('data'=>'list','edit'=>false,'delall'=>false,'del_one'=>false,'list'=>array(
			//列表展示列
			array('type'=>'radio','name'=>'type','title'=>'原材料类型','options'=>'goods_types'),
			array('type'=>'string','name'=>'title','title'=>'原材料名称',),
			array('type'=>'image','name'=>'image','title'=>'原材料图片',),
			array('type'=>'string','name'=>'productsn','title'=>'原材料编号',),
		),'action'=>array(
			array('type'=>'modal_result','name'=>'goods','title'=>'选取'),
		)),
		'search'=>array(
			//列表查询表单
			array('type'=>'string','name'=>'title','title'=>'名称','width'=>'50'),
		),
	);
	$return['htmls']=$htmls;
	
	//把数据返回前端
	exi($return);
}
//导出动作
if($_RQ['op']=='export'){
	//整理筛选条件
	$params=array('uniacid'=>$_SESSION['uniacid']);
	if($_RQ['title']){
		$params['title like']='%'.trim($_RQ['title']).'%';
	}
	//声明需要查询哪些字段，为空表示获取所有
	$fields=array();
	$parameter=array(
		'params'=>$params,
		'fields'=>$fields,
		'orderby'=>'id desc',
	);
	//执行分页查询
	$list=$this->get_list('goods',$parameter);
	if($list){
		foreach($list as &$item){
			//整理从数据库获取到的数据
			$item['createtime']=date('Y/m/d H:i:s',$item['createtime']);
		}
	}
	//声明表头和对应字段
	$header=array(
		'title'=>'门店名称',
		'address'=>'门店地址',
		'createtime'=>'门店创建时间',
	);
	//执行导出
	model('core/tools')->export2excel($header,$list,'门店列表');
}